/**
 * 
 */
package cn.terrence.myrpc.common.proxy.java;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

/**
 * @author Terrence2013
 * 2018年1月23日 下午1:25:24
 * JDK代理实现类
 */
public class JDKProxy {
	
	private JDKProxy(){};
	
	@SuppressWarnings("unchecked")
	public static <T>T build(Class<T> instanceInterface,Object instance){
		InvocationHandler handler = new JDKInvocationHandler(instance);
		T proxy = (T)Proxy.newProxyInstance(instanceInterface.getClassLoader(),instance.getClass().getInterfaces(),handler);
		return proxy;
	}

}
